# RUN: llvm-mc -triple=aarch64               -mattr=+ite -disassemble %s | FileCheck %s
# RUN: llvm-mc -triple=aarch64 -mattr=+v8.8a -mattr=+ite -disassemble %s | FileCheck %s
# RUN: llvm-mc -triple=aarch64 -mattr=+v9.3a -mattr=+ite -disassemble %s | FileCheck %s
# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a -mattr=+ite -disassemble %s | FileCheck %s
# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a -mattr=+ite -disassemble %s | FileCheck %s

# RUN: llvm-mc -triple=aarch64                           -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
# RUN: llvm-mc -triple=aarch64 -mattr=+v8.8a             -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
# RUN: llvm-mc -triple=aarch64 -mattr=+v9.3a             -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
# RUN: llvm-mc -triple=aarch64 -mattr=+v8.9a             -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE
# RUN: llvm-mc -triple=aarch64 -mattr=+v9.4a             -disassemble %s | FileCheck %s --check-prefix=ERROR-NO-ITE

[0x83,0x00,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR0_EL1
[0x81,0x00,0x10,0xd5]
# CHECK:    msr DBGBVR0_EL1, x1
[0x83,0x01,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR1_EL1
[0x81,0x01,0x10,0xd5]
# CHECK:    msr DBGBVR1_EL1, x1
[0x83,0x02,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR2_EL1
[0x81,0x02,0x10,0xd5]
# CHECK:    msr DBGBVR2_EL1, x1
[0x83,0x03,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR3_EL1
[0x81,0x03,0x10,0xd5]
# CHECK:    msr DBGBVR3_EL1, x1
[0x83,0x04,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR4_EL1
[0x81,0x04,0x10,0xd5]
# CHECK:    msr DBGBVR4_EL1, x1
[0x83,0x05,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR5_EL1
[0x81,0x05,0x10,0xd5]
# CHECK:    msr DBGBVR5_EL1, x1
[0x83,0x06,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR6_EL1
[0x81,0x06,0x10,0xd5]
# CHECK:    msr DBGBVR6_EL1, x1
[0x83,0x07,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR7_EL1
[0x81,0x07,0x10,0xd5]
# CHECK:    msr DBGBVR7_EL1, x1
[0x83,0x08,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR8_EL1
[0x81,0x08,0x10,0xd5]
# CHECK:    msr DBGBVR8_EL1, x1
[0x83,0x09,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR9_EL1
[0x81,0x09,0x10,0xd5]
# CHECK:    msr DBGBVR9_EL1, x1
[0x83,0x0a,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR10_EL1
[0x81,0x0a,0x10,0xd5]
# CHECK:    msr DBGBVR10_EL1, x1
[0x83,0x0b,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR11_EL1
[0x81,0x0b,0x10,0xd5]
# CHECK:    msr DBGBVR11_EL1, x1
[0x83,0x0c,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR12_EL1
[0x81,0x0c,0x10,0xd5]
# CHECK:    msr DBGBVR12_EL1, x1
[0x83,0x0d,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR13_EL1
[0x81,0x0d,0x10,0xd5]
# CHECK:    msr DBGBVR13_EL1, x1
[0x83,0x0e,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR14_EL1
[0x81,0x0e,0x10,0xd5]
# CHECK:    msr DBGBVR14_EL1, x1
[0x83,0x0f,0x30,0xd5]
# CHECK:    mrs x3, DBGBVR15_EL1
[0x81,0x0f,0x10,0xd5]
# CHECK:    msr DBGBVR15_EL1, x1

[0xa3,0x00,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR0_EL1
[0xa1,0x00,0x10,0xd5]
# CHECK:    msr DBGBCR0_EL1, x1
[0xa3,0x01,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR1_EL1
[0xa1,0x01,0x10,0xd5]
# CHECK:    msr DBGBCR1_EL1, x1
[0xa3,0x02,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR2_EL1
[0xa1,0x02,0x10,0xd5]
# CHECK:    msr DBGBCR2_EL1, x1
[0xa3,0x03,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR3_EL1
[0xa1,0x03,0x10,0xd5]
# CHECK:    msr DBGBCR3_EL1, x1
[0xa3,0x04,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR4_EL1
[0xa1,0x04,0x10,0xd5]
# CHECK:    msr DBGBCR4_EL1, x1
[0xa3,0x05,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR5_EL1
[0xa1,0x05,0x10,0xd5]
# CHECK:    msr DBGBCR5_EL1, x1
[0xa3,0x06,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR6_EL1
[0xa1,0x06,0x10,0xd5]
# CHECK:    msr DBGBCR6_EL1, x1
[0xa3,0x07,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR7_EL1
[0xa1,0x07,0x10,0xd5]
# CHECK:    msr DBGBCR7_EL1, x1
[0xa3,0x08,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR8_EL1
[0xa1,0x08,0x10,0xd5]
# CHECK:    msr DBGBCR8_EL1, x1
[0xa3,0x09,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR9_EL1
[0xa1,0x09,0x10,0xd5]
# CHECK:    msr DBGBCR9_EL1, x1
[0xa3,0x0a,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR10_EL1
[0xa1,0x0a,0x10,0xd5]
# CHECK:    msr DBGBCR10_EL1, x1
[0xa3,0x0b,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR11_EL1
[0xa1,0x0b,0x10,0xd5]
# CHECK:    msr DBGBCR11_EL1, x1
[0xa3,0x0c,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR12_EL1
[0xa1,0x0c,0x10,0xd5]
# CHECK:    msr DBGBCR12_EL1, x1
[0xa3,0x0d,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR13_EL1
[0xa1,0x0d,0x10,0xd5]
# CHECK:    msr DBGBCR13_EL1, x1
[0xa3,0x0e,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR14_EL1
[0xa1,0x0e,0x10,0xd5]
# CHECK:    msr DBGBCR14_EL1, x1
[0xa3,0x0f,0x30,0xd5]
# CHECK:    mrs x3, DBGBCR15_EL1
[0xa1,0x0f,0x10,0xd5]
# CHECK:    msr DBGBCR15_EL1, x1

[0xc3,0x00,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR0_EL1
[0xc1,0x00,0x10,0xd5]
# CHECK:    msr DBGWVR0_EL1, x1
[0xc3,0x01,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR1_EL1
[0xc1,0x01,0x10,0xd5]
# CHECK:    msr DBGWVR1_EL1, x1
[0xc3,0x02,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR2_EL1
[0xc1,0x02,0x10,0xd5]
# CHECK:    msr DBGWVR2_EL1, x1
[0xc3,0x03,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR3_EL1
[0xc1,0x03,0x10,0xd5]
# CHECK:    msr DBGWVR3_EL1, x1
[0xc3,0x04,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR4_EL1
[0xc1,0x04,0x10,0xd5]
# CHECK:    msr DBGWVR4_EL1, x1
[0xc3,0x05,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR5_EL1
[0xc1,0x05,0x10,0xd5]
# CHECK:    msr DBGWVR5_EL1, x1
[0xc3,0x06,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR6_EL1
[0xc1,0x06,0x10,0xd5]
# CHECK:    msr DBGWVR6_EL1, x1
[0xc3,0x07,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR7_EL1
[0xc1,0x07,0x10,0xd5]
# CHECK:    msr DBGWVR7_EL1, x1
[0xc3,0x08,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR8_EL1
[0xc1,0x08,0x10,0xd5]
# CHECK:    msr DBGWVR8_EL1, x1
[0xc3,0x09,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR9_EL1
[0xc1,0x09,0x10,0xd5]
# CHECK:    msr DBGWVR9_EL1, x1
[0xc3,0x0a,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR10_EL1
[0xc1,0x0a,0x10,0xd5]
# CHECK:    msr DBGWVR10_EL1, x1
[0xc3,0x0b,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR11_EL1
[0xc1,0x0b,0x10,0xd5]
# CHECK:    msr DBGWVR11_EL1, x1
[0xc3,0x0c,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR12_EL1
[0xc1,0x0c,0x10,0xd5]
# CHECK:    msr DBGWVR12_EL1, x1
[0xc3,0x0d,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR13_EL1
[0xc1,0x0d,0x10,0xd5]
# CHECK:    msr DBGWVR13_EL1, x1
[0xc3,0x0e,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR14_EL1
[0xc1,0x0e,0x10,0xd5]
# CHECK:    msr DBGWVR14_EL1, x1
[0xc3,0x0f,0x30,0xd5]
# CHECK:    mrs x3, DBGWVR15_EL1
[0xc1,0x0f,0x10,0xd5]
# CHECK:    msr DBGWVR15_EL1, x1

[0xe3,0x00,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR0_EL1
[0xe1,0x00,0x10,0xd5]
# CHECK:    msr DBGWCR0_EL1, x1
[0xe3,0x01,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR1_EL1
[0xe1,0x01,0x10,0xd5]
# CHECK:    msr DBGWCR1_EL1, x1
[0xe3,0x02,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR2_EL1
[0xe1,0x02,0x10,0xd5]
# CHECK:    msr DBGWCR2_EL1, x1
[0xe3,0x03,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR3_EL1
[0xe1,0x03,0x10,0xd5]
# CHECK:    msr DBGWCR3_EL1, x1
[0xe3,0x04,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR4_EL1
[0xe1,0x04,0x10,0xd5]
# CHECK:    msr DBGWCR4_EL1, x1
[0xe3,0x05,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR5_EL1
[0xe1,0x05,0x10,0xd5]
# CHECK:    msr DBGWCR5_EL1, x1
[0xe3,0x06,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR6_EL1
[0xe1,0x06,0x10,0xd5]
# CHECK:    msr DBGWCR6_EL1, x1
[0xe3,0x07,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR7_EL1
[0xe1,0x07,0x10,0xd5]
# CHECK:    msr DBGWCR7_EL1, x1
[0xe3,0x08,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR8_EL1
[0xe1,0x08,0x10,0xd5]
# CHECK:    msr DBGWCR8_EL1, x1
[0xe3,0x09,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR9_EL1
[0xe1,0x09,0x10,0xd5]
# CHECK:    msr DBGWCR9_EL1, x1
[0xe3,0x0a,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR10_EL1
[0xe1,0x0a,0x10,0xd5]
# CHECK:    msr DBGWCR10_EL1, x1
[0xe3,0x0b,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR11_EL1
[0xe1,0x0b,0x10,0xd5]
# CHECK:    msr DBGWCR11_EL1, x1
[0xe3,0x0c,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR12_EL1
[0xe1,0x0c,0x10,0xd5]
# CHECK:    msr DBGWCR12_EL1, x1
[0xe3,0x0d,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR13_EL1
[0xe1,0x0d,0x10,0xd5]
# CHECK:    msr DBGWCR13_EL1, x1
[0xe3,0x0e,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR14_EL1
[0xe1,0x0e,0x10,0xd5]
# CHECK:    msr DBGWCR14_EL1, x1
[0xe3,0x0f,0x30,0xd5]
# CHECK:    mrs x3, DBGWCR15_EL1
[0xe1,0x0f,0x10,0xd5]
# CHECK:    msr DBGWCR15_EL1, x1

[0x43,0x04,0x30,0xd5]
# CHECK:	mrs	x3, MDSELR_EL1
[0x41,0x04,0x10,0xd5]
# CHECK:	msr	MDSELR_EL1, x1

[0x83,0x9e,0x38,0xd5]
# CHECK:	mrs	x3, PMUACR_EL1
[0x81,0x9e,0x18,0xd5]
# CHECK:	msr	PMUACR_EL1, x1

[0xe3,0xeb,0x30,0xd5]
# CHECK:	mrs	x3, PMCCNTSVR_EL1
[0x03,0xec,0x30,0xd5]
# CHECK:	mrs	x3, PMICNTSVR_EL1
[0x63,0x9d,0x38,0xd5]
# CHECK:	mrs	x3, PMSSCR_EL1
[0x61,0x9d,0x18,0xd5]
# CHECK:	msr	PMSSCR_EL1, x1
[0x03,0xe8,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR0_EL1
[0x23,0xe8,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR1_EL1
[0x43,0xe8,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR2_EL1
[0x63,0xe8,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR3_EL1
[0x83,0xe8,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR4_EL1
[0xa3,0xe8,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR5_EL1
[0xc3,0xe8,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR6_EL1
[0xe3,0xe8,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR7_EL1
[0x03,0xe9,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR8_EL1
[0x23,0xe9,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR9_EL1
[0x43,0xe9,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR10_EL1
[0x63,0xe9,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR11_EL1
[0x83,0xe9,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR12_EL1
[0xa3,0xe9,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR13_EL1
[0xc3,0xe9,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR14_EL1
[0xe3,0xe9,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR15_EL1
[0x03,0xea,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR16_EL1
[0x23,0xea,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR17_EL1
[0x43,0xea,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR18_EL1
[0x63,0xea,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR19_EL1
[0x83,0xea,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR20_EL1
[0xa3,0xea,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR21_EL1
[0xc3,0xea,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR22_EL1
[0xe3,0xea,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR23_EL1
[0x03,0xeb,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR24_EL1
[0x23,0xeb,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR25_EL1
[0x43,0xeb,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR26_EL1
[0x63,0xeb,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR27_EL1
[0x83,0xeb,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR28_EL1
[0xa3,0xeb,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR29_EL1
[0xc3,0xeb,0x30,0xd5]
# CHECK:	mrs	x3, PMEVCNTSVR30_EL1

[0x03,0x94,0x3b,0xd5]
# CHECK:  mrs x3, PMICNTR_EL0
[0x03,0x94,0x1b,0xd5]
# CHECK:  msr PMICNTR_EL0, x3
[0x03,0x96,0x3b,0xd5]
# CHECK:  mrs x3, PMICFILTR_EL0
[0x03,0x96,0x1b,0xd5]
# CHECK:  msr PMICFILTR_EL0, x3

[0x83,0x9d,0x1b,0xd5]
# CHECK:  msr PMZR_EL0, x3

[0xa3,0x9e,0x38,0xd5]
# CHECK:	mrs	x3, PMECR_EL1
[0xa1,0x9e,0x18,0xd5]
# CHECK:	msr	PMECR_EL1, x1
[0xe3,0x9e,0x38,0xd5]
# CHECK:	mrs	x3, PMIAR_EL1
[0xe1,0x9e,0x18,0xd5]
# CHECK:	msr	PMIAR_EL1, x1

[0x63,0x9d,0x30,0xd5]
# CHECK:	mrs	x3, SPMACCESSR_EL1
[0x61,0x9d,0x10,0xd5]
# CHECK:	msr	SPMACCESSR_EL1, x1
[0x63,0x9d,0x35,0xd5]
# CHECK:	mrs	x3, SPMACCESSR_EL12
[0x61,0x9d,0x15,0xd5]
# CHECK:	msr	SPMACCESSR_EL12, x1
[0x63,0x9d,0x34,0xd5]
# CHECK:	mrs	x3, SPMACCESSR_EL2
[0x61,0x9d,0x14,0xd5]
# CHECK:	msr	SPMACCESSR_EL2, x1
[0x63,0x9d,0x36,0xd5]
# CHECK:	mrs	x3, SPMACCESSR_EL3
[0x61,0x9d,0x16,0xd5]
# CHECK:	msr	SPMACCESSR_EL3, x1
[0x43,0x9c,0x33,0xd5]
# CHECK:	mrs	x3, SPMCNTENCLR_EL0
[0x41,0x9c,0x13,0xd5]
# CHECK:	msr	SPMCNTENCLR_EL0, x1
[0x23,0x9c,0x33,0xd5]
# CHECK:	mrs	x3, SPMCNTENSET_EL0
[0x21,0x9c,0x13,0xd5]
# CHECK:	msr	SPMCNTENSET_EL0, x1
[0x03,0x9c,0x33,0xd5]
# CHECK:	mrs	x3, SPMCR_EL0
[0x01,0x9c,0x13,0xd5]
# CHECK:	msr	SPMCR_EL0, x1
[0xc3,0x9d,0x30,0xd5]
# CHECK:	mrs	x3, SPMDEVAFF_EL1
[0xa3,0x9d,0x30,0xd5]
# CHECK:	mrs	x3, SPMDEVARCH_EL1

[0x03,0xe0,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR0_EL0
[0x01,0xe0,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR0_EL0, x1
[0x23,0xe0,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR1_EL0
[0x21,0xe0,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR1_EL0, x1
[0x43,0xe0,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR2_EL0
[0x41,0xe0,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR2_EL0, x1
[0x63,0xe0,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR3_EL0
[0x61,0xe0,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR3_EL0, x1
[0x83,0xe0,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR4_EL0
[0x81,0xe0,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR4_EL0, x1
[0xa3,0xe0,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR5_EL0
[0xa1,0xe0,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR5_EL0, x1
[0xc3,0xe0,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR6_EL0
[0xc1,0xe0,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR6_EL0, x1
[0xe3,0xe0,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR7_EL0
[0xe1,0xe0,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR7_EL0, x1
[0x03,0xe1,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR8_EL0
[0x01,0xe1,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR8_EL0, x1
[0x23,0xe1,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR9_EL0
[0x21,0xe1,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR9_EL0, x1
[0x43,0xe1,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR10_EL0
[0x41,0xe1,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR10_EL0, x1
[0x63,0xe1,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR11_EL0
[0x61,0xe1,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR11_EL0, x1
[0x83,0xe1,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR12_EL0
[0x81,0xe1,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR12_EL0, x1
[0xa3,0xe1,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR13_EL0
[0xa1,0xe1,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR13_EL0, x1
[0xc3,0xe1,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR14_EL0
[0xc1,0xe1,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR14_EL0, x1
[0xe3,0xe1,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVCNTR15_EL0
[0xe1,0xe1,0x13,0xd5]
# CHECK:	msr	SPMEVCNTR15_EL0, x1

[0x03,0xe6,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R0_EL0
[0x01,0xe6,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R0_EL0, x1
[0x23,0xe6,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R1_EL0
[0x21,0xe6,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R1_EL0, x1
[0x43,0xe6,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R2_EL0
[0x41,0xe6,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R2_EL0, x1
[0x63,0xe6,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R3_EL0
[0x61,0xe6,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R3_EL0, x1
[0x83,0xe6,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R4_EL0
[0x81,0xe6,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R4_EL0, x1
[0xa3,0xe6,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R5_EL0
[0xa1,0xe6,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R5_EL0, x1
[0xc3,0xe6,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R6_EL0
[0xc1,0xe6,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R6_EL0, x1
[0xe3,0xe6,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R7_EL0
[0xe1,0xe6,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R7_EL0, x1
[0x03,0xe7,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R8_EL0
[0x01,0xe7,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R8_EL0, x1
[0x23,0xe7,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R9_EL0
[0x21,0xe7,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R9_EL0, x1
[0x43,0xe7,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R10_EL0
[0x41,0xe7,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R10_EL0, x1
[0x63,0xe7,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R11_EL0
[0x61,0xe7,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R11_EL0, x1
[0x83,0xe7,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R12_EL0
[0x81,0xe7,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R12_EL0, x1
[0xa3,0xe7,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R13_EL0
[0xa1,0xe7,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R13_EL0, x1
[0xc3,0xe7,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R14_EL0
[0xc1,0xe7,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R14_EL0, x1
[0xe3,0xe7,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILT2R15_EL0
[0xe1,0xe7,0x13,0xd5]
# CHECK:	msr	SPMEVFILT2R15_EL0, x1

[0x03,0xe4,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR0_EL0
[0x01,0xe4,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR0_EL0, x1
[0x23,0xe4,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR1_EL0
[0x21,0xe4,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR1_EL0, x1
[0x43,0xe4,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR2_EL0
[0x41,0xe4,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR2_EL0, x1
[0x63,0xe4,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR3_EL0
[0x61,0xe4,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR3_EL0, x1
[0x83,0xe4,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR4_EL0
[0x81,0xe4,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR4_EL0, x1
[0xa3,0xe4,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR5_EL0
[0xa1,0xe4,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR5_EL0, x1
[0xc3,0xe4,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR6_EL0
[0xc1,0xe4,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR6_EL0, x1
[0xe3,0xe4,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR7_EL0
[0xe1,0xe4,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR7_EL0, x1
[0x03,0xe5,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR8_EL0
[0x01,0xe5,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR8_EL0, x1
[0x23,0xe5,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR9_EL0
[0x21,0xe5,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR9_EL0, x1
[0x43,0xe5,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR10_EL0
[0x41,0xe5,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR10_EL0, x1
[0x63,0xe5,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR11_EL0
[0x61,0xe5,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR11_EL0, x1
[0x83,0xe5,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR12_EL0
[0x81,0xe5,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR12_EL0, x1
[0xa3,0xe5,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR13_EL0
[0xa1,0xe5,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR13_EL0, x1
[0xc3,0xe5,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR14_EL0
[0xc1,0xe5,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR14_EL0, x1
[0xe3,0xe5,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVFILTR15_EL0
[0xe1,0xe5,0x13,0xd5]
# CHECK:	msr	SPMEVFILTR15_EL0, x1

[0x03,0xe2,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER0_EL0
[0x01,0xe2,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER0_EL0, x1
[0x23,0xe2,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER1_EL0
[0x21,0xe2,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER1_EL0, x1
[0x43,0xe2,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER2_EL0
[0x41,0xe2,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER2_EL0, x1
[0x63,0xe2,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER3_EL0
[0x61,0xe2,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER3_EL0, x1
[0x83,0xe2,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER4_EL0
[0x81,0xe2,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER4_EL0, x1
[0xa3,0xe2,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER5_EL0
[0xa1,0xe2,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER5_EL0, x1
[0xc3,0xe2,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER6_EL0
[0xc1,0xe2,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER6_EL0, x1
[0xe3,0xe2,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER7_EL0
[0xe1,0xe2,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER7_EL0, x1
[0x03,0xe3,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER8_EL0
[0x01,0xe3,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER8_EL0, x1
[0x23,0xe3,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER9_EL0
[0x21,0xe3,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER9_EL0, x1
[0x43,0xe3,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER10_EL0
[0x41,0xe3,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER10_EL0, x1
[0x63,0xe3,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER11_EL0
[0x61,0xe3,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER11_EL0, x1
[0x83,0xe3,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER12_EL0
[0x81,0xe3,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER12_EL0, x1
[0xa3,0xe3,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER13_EL0
[0xa1,0xe3,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER13_EL0, x1
[0xc3,0xe3,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER14_EL0
[0xc1,0xe3,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER14_EL0, x1
[0xe3,0xe3,0x33,0xd5]
# CHECK:	mrs	x3, SPMEVTYPER15_EL0
[0xe1,0xe3,0x13,0xd5]
# CHECK:	msr	SPMEVTYPER15_EL0, x1

[0x83,0x9d,0x30,0xd5]
# CHECK:	mrs	x3, SPMIIDR_EL1
[0x43,0x9e,0x30,0xd5]
# CHECK:	mrs	x3, SPMINTENCLR_EL1
[0x41,0x9e,0x10,0xd5]
# CHECK:	msr	SPMINTENCLR_EL1, x1
[0x23,0x9e,0x30,0xd5]
# CHECK:	mrs	x3, SPMINTENSET_EL1
[0x21,0x9e,0x10,0xd5]
# CHECK:	msr	SPMINTENSET_EL1, x1
[0x63,0x9c,0x33,0xd5]
# CHECK:	mrs	x3, SPMOVSCLR_EL0
[0x61,0x9c,0x13,0xd5]
# CHECK:	msr	SPMOVSCLR_EL0, x1
[0x63,0x9e,0x33,0xd5]
# CHECK:	mrs	x3, SPMOVSSET_EL0
[0x61,0x9e,0x13,0xd5]
# CHECK:	msr	SPMOVSSET_EL0, x1
[0xa3,0x9c,0x33,0xd5]
# CHECK:	mrs	x3, SPMSELR_EL0
[0xa1,0x9c,0x13,0xd5]
# CHECK:	msr	SPMSELR_EL0, x1
[0x03,0x9d,0x30,0xd5]
# CHECK:  mrs x3, SPMCGCR0_EL1
[0x23,0x9d,0x30,0xd5]
# CHECK:  mrs x3, SPMCGCR1_EL1
[0xe3,0x9d,0x30,0xd5]
# CHECK:  mrs x3, SPMCFGR_EL1
[0xe3,0x9e,0x36,0xd5]
# CHECK:  mrs x3, SPMROOTCR_EL3
[0xe3,0x9e,0x16,0xd5]
# CHECK:  msr SPMROOTCR_EL3, x3
[0xe3,0x9e,0x37,0xd5]
# CHECK:  mrs x3, SPMSCR_EL1
[0xe3,0x9e,0x17,0xd5]
# CHECK:  msr SPMSCR_EL1, x3

[0x63,0x12,0x38,0xd5]
# CHECK:	mrs	x3, TRCITECR_EL1
# ERROR-NO-ITE:    mrs x3, S3_0_C1_C2_3
[0x61,0x12,0x18,0xd5]
# CHECK:	msr	TRCITECR_EL1, x1
# ERROR-NO-ITE:    msr S3_0_C1_C2_3, x1
[0x63,0x12,0x3d,0xd5]
# CHECK:	mrs	x3, TRCITECR_EL12
# ERROR-NO-ITE:    mrs x3, S3_5_C1_C2_3
[0x61,0x12,0x1d,0xd5]
# CHECK:	msr	TRCITECR_EL12, x1
# ERROR-NO-ITE:    msr S3_5_C1_C2_3, x1
[0x63,0x12,0x3c,0xd5]
# CHECK:	mrs	x3, TRCITECR_EL2
# ERROR-NO-ITE:    mrs x3, S3_4_C1_C2_3
[0x61,0x12,0x1c,0xd5]
# CHECK:	msr	TRCITECR_EL2, x1
# ERROR-NO-ITE:    msr S3_4_C1_C2_3, x1
[0xe1,0x72,0x0b,0xd5]
# CHECK:    trcit x1
# ERROR-NO-ITE:    sys #3, c7, c2, #7, x1

[0x83,0x9a,0x38,0xd5]
# CHECK:    mrs x3, PMSDSFR_EL1
[0x83,0x9a,0x18,0xd5]
# CHECK:    msr PMSDSFR_EL1, x3
